/**
 * Copyright (c), 上海沃恩信息科技有限公司.
 * All rights reserved.
 * Licensed under BSD (https://www.pittypat.work/bsd.html).
 */

package pittypat;

import java.lang.IllegalArgumentException;

import pittypat.data.DbDataReader;

import java.io.IOException;
import java.io.Writer;

/**
 * 表示一个从 DbDataReader 中读取到的数据对象。
 */
public class DataModel extends Model {

	/**
	 * 初始化 DataModel 类的新实例。
	 */
	public DataModel() {
	}

	/**
	 * 从一个 DbDataReader 中读取此对象。DataModel 类本身不提供任何实现，也不产生异常。
	 * 
	 * @param reader
	 *            包含对象数据的 DbDataReader 对象。
	 * @throws IllegalArgumentException
	 *             reader 是 null。
	 * @throws IOException
	 * 
	 * @see DbDataReader
	 */
	public void read(DbDataReader reader) throws IllegalArgumentException {
	}

	/**
	 * 将当前对象作为 JSON 字符串写入指定的文本流。DataModel 类编写为空对象：{}。
	 * 
	 * @param writer
	 *            目标文本流。
	 * @throws IllegalArgumentException
	 *             writer 是 null。
	 * @throws IOException
	 * 
	 * @see pittypat.Model#write(java.io.Writer)
	 */
	@Override
	public void write(Writer writer) throws IOException, IllegalArgumentException {
		if (writer == null) {
			throw new IllegalArgumentException("writer 为 null。");
		}

		writer.write("{}");
	}
}
